import upload from '@/utils/upload'
import request from '@/utils/request'

/**
 * 用户管理API接口
 * 用于处理用户个人信息、密码修改、头像上传等功能
 */

/**
 * 用户密码重置
 * @param {string} oldPassword - 旧密码
 * @param {string} newPassword - 新密码
 * @returns {Promise} 返回操作结果的Promise
 */
export function updateUserPwd(oldPassword, newPassword) {
  const data = {
    oldPassword,
    newPassword
  }
  return request({
    url: '/system/user/profile/updatePwd',
    method: 'put',
    data: data
  })
}

/**
 * 查询用户个人信息
 * @returns {Promise} 返回用户个人信息的Promise
 */
export function getUserProfile() {
  return request({
    url: '/system/user/profile',
    method: 'get'
  })
}

/**
 * 修改用户个人信息
 * @param {Object} data - 用户信息对象
 * @returns {Promise} 返回操作结果的Promise
 */
export function updateUserProfile(data) {
  return request({
    url: '/system/user/profile',
    method: 'put',
    data: data
  })
}

/**
 * 用户头像上传
 * @param {Object} data - 头像上传数据
 * @param {string} data.name - 文件名称
 * @param {string} data.filePath - 文件路径
 * @returns {Promise} 返回上传结果的Promise
 */
export function uploadAvatar(data) {
  return upload({
    url: '/system/user/profile/avatar',
    name: data.name,
    filePath: data.filePath
  })
}

/**
 * 获取用户名片信息
 * @param {string} userId - 用户ID
 * @returns {Promise} 返回用户名片信息的Promise
 */
export function getUserCard(userId) {
  return request({
    url: `/system/user/card/${userId}`,
    method: 'get'
  })
}
/**
 * 生成用户个人资料二维码
 * @returns {Promise} 返回生成二维码操作结果的Promise
 */
export function generateQrCode() {
  return request({
    url: '/system/user/profile/generateQrCode',
    method: 'post'
  })
}